The invention relates generally to the management of device information in a computer network and, more particularly but not by way of limitation, to providing fault tolerance for device information data-store update operations in a switched-fabric digital network.
One technology for providing high speed, low latency connectivity between devices is Fibre Channel. Developed as a high-performance serial link under the auspices of the American National Standards Institute (ANSI), Fibre Channel supports point-to-point, loop and fabric topologies at transmission rates in excess of one gigabit per second (Gbps). Based on the use of highly sophisticated switches, Fibre Channel has become the technology of choice for implementing high speed and highly reliable digital networks.
Referring to FIG. 1, illustrative Fibre Channel network 100 comprises servers 105, storage device or system 110 and databases 115 coupled to fabric 120. Fabric 120 itself comprises switches 125, 130 and 135. In addition to interconnecting individual components, a Fibre Channel network 100 may include a second (or more) fabrics 140 which itself may comprise one or more switches (not shown).
As Fibre Channel networks grew in scope and operational complexity, traditional techniques for managing their logical connectivity and security became unwieldy. Zoning provides one technique for a fabric to track, maintain and implement logical connectivity and security. (See the ANSI NCITS 321-1998 standard (FC-SW-2) entitled Fibre Channel Switch Fabric 2.) In a zoned fabric, various devices may be grouped into logical zones based on switch ports, device identities (for example, world-wide name, WWN), logical unit number (LUN) or other variations. Only devices within the same zone may be allowed to communicate with one another.
The information upon which zoning operates is typically maintained in a database (e.g., tables) replicated among a fabric's switches. Each switch maintains a copy of the information for the entire fabric. It is necessary that the zoning database be replicated reliably across all of the switches in the fabric in order to avoid inconsistent enforcement of device access control. When the zoning database is changed from one switch and when the changes are requested to be committed, these changes must be reliably sent to all of the switches in the fabric at that moment, regardless of fabric merges or partitions or routing changes. Should a switch fail after initiating, but before completing, such an update operation, the replicated zoning database could become inconsistent among the participating switches (i.e., they would no longer be exact replicas)—a query to one switch for information about a device could result in a different response than if that same query were made to a different switch. Such a situation could render the fabric partially or wholly unusable for continued device communication. Accordingly, it would be beneficial to provide a means (methods and devices) for fault tolerant inter-switch updates so that, should a fabric switch fail during a zoning database update operation, other fabric switch zoning databases are not corrupted.